home *** CD-ROM | disk | FTP | other *** search
/ PC Format 8 (5.25") / PC Format - Issue 8 May 1992 - Disk 1.ima / TBSCNX26.EXE / TBSCANX.DOC < prev    next >
Text File  |  1991-04-19  |  35KB  |  794 lines

  1.     DOCUMENTATION FOR TBSCANX V2.6
  2.  
  3.  
  4.  
  5. REGULATIONS WITH REGARD TO USE AND DISTRIBUTION OF TBSCANX
  6. ----------------------------------------------------------
  7.  
  8.     Both TbScanX and the accompanying documentation are SHAREWARE.  This
  9.     simply means the program is covered by the copyrights of ESaSS,  but
  10.     can  be  used  and  distributed  freely  as  long  as  the following
  11.     regulations are observed.
  12.  
  13.     +   Concerning the distribution of the TbScanX program no
  14.         administration and/or shipping costs exceeding the amount of
  15.         $5,- may be charged.
  16.  
  17.     +   Distribution of TbScanX may only take place when both the
  18.         program and the documentation are left unmodified and only when
  19.         the complete program is supplied.
  20.  
  21.     +   So it is not allowed to distribute the program apart from the
  22.         documentation.
  23.  
  24.     +   ESaSS accepts no responsibility in case the program
  25.         malfunctions or does not function at all.
  26.  
  27.     +   ESaSS can never be held responsible for damage, directly or
  28.         indirectly resulting from the use of TbScanX.
  29.  
  30.     +   Using TbScanX means that you agree on these regulations.
  31.  
  32.  
  33.  
  34. DESCRIPTION TBSCANX
  35. -------------------
  36.  
  37.     TbScanX is  a program  that was  developed to  trace viruses, Trojan
  38.     Horses and other  threats to your  valuable data. It  is a so-called
  39.     virus scanner.
  40.  
  41.     A virus  scanner is  a program  that is  able to  search a signature
  42.     that  has  been  determined  beforehand.  Most  viruses consist of a
  43.     unique signature,  so by  means of  checking for  the appearance  of
  44.     this  signature  we  can  see  whether  or  not  a  program has been
  45.     infected.
  46.  
  47.     By  searching  all  your  program  files  for  the signatures of all
  48.     viruses already identified you  can easily find whether  your system
  49.     has been infected and, if that is the case, with which virus.
  50.  
  51.     By now already many virus scanners have been developed. The  problem
  52.     with all these  scanners is that  you have to  execute them. Suppose
  53.     you   have   the   virusscanner   automatically   invoked   in  your
  54.     autoexec.bat file. If no viruses are found, your system is  supposed
  55.     to be  uninfected. But,  to be  sure that  no virus  can infect your
  56.     system, you have  to run the  scanner every time  before you copy  a
  57.     file to your  harddisk, after downloading  a file from  your BBS, or
  58.     after unarchiving an archive such as  a ZIP file. Be honest, do  YOU
  59.     actually invoke your scanner every time?
  60.  
  61.  
  62.     TbScanX has  a unique  feature to  overcome this  drawback, it  will
  63.     remain  resident  in  memory,  and  AUTOMATICALLY scan all files you
  64.     execute, copy, download, modify, or unarchive!
  65.  
  66.     Probably  you  think  that  a  resident  virus scanner consumes much
  67.     memory, makes your  system slow, and  is a source  of many problems.
  68.     But, if  you already  know our  free-ware scanner  TBSCAN, you  know
  69.     that this  scanner can  scan your  files ten  times faster  compared
  70.     with  other  scanners.  Also  TbScanX  achieves  this lightning fast
  71.     speed. Actually, TbScanX is a  lot faster, since it will  not access
  72.     your disk  to scan  the files,  because all  files to  be created or
  73.     modified reside already in memory!
  74.  
  75.     Besides this,  TbScanX consumes  only 8 Kb  of memory, including the
  76.     signatures  to  scan  for!  If  there  is expanded memory available,
  77.     TbScanX uses even less than 1Kb of memory!
  78.  
  79.     TbScanX carries the same feature of its transient brother TBSCAN:
  80.  
  81.     +   TbScanX is fully programmable by means of a data file.
  82.  
  83.         Most of the time viruses  spread quickly. After a new  virus has
  84.         been found there  is often no  time to adapt  your virus checker
  85.         in order to make it capable of recognizing this new virus.  That
  86.         is why TbScanX uses a data  file in which the signatures of  the
  87.         viruses occur.  This file  can quickly  be adapted,  possibly by
  88.         yourself,  for  example  when  you  are  informed of a new virus
  89.         through  the  media.  TbScanX  supports  among  other things the
  90.         format which  is used  in the  file "virscan.dat".  This file is
  91.         regularly adapted and can be obtained at a lot of data banks.
  92.  
  93.  
  94.     +   TbScanX supports wildcards in the signature.
  95.  
  96.         A lot  of viruses  encrypt themselves  after each  infection, so
  97.         the signatures always look different.  There is one part of  the
  98.         virus however that cannot be  modified: the routine that has  to
  99.         "unpack" the modified part of the virus.
  100.  
  101.         But it is a misunderstanding that this part of the virus  always
  102.         should look the same. The fact is there are viruses that  pepper
  103.         their  unpack-routine  with  useless  instructions which have no
  104.         effect and which are continuously replaced by other  nonsensical
  105.         instructions. Although the  unpack-routine always functions  the
  106.         same, it looks  different every time  because of these  changing
  107.         fake instructions!
  108.  
  109.         By inserting  wildcards on  places where  the fake  instructions
  110.         occur  in  the  signatures  of  the  data file, such a virus can
  111.         still be  traced and  identified. This  is the  case because any
  112.         character may be used on the place of a wildcard.
  113.  
  114.         It is also possible to  skip a variable amount of  garbage bytes
  115.         in the signature.
  116.  
  117.  
  118.  
  119.     +   TbScanX supports normal text as the signature.
  120.  
  121.         Most signatures are inserted in ASCII-HEX. But when desired  you
  122.         can also specify  a normal text  as the signature.  In this case
  123.         you put the text between double quotation marks.
  124.  
  125.  
  126.     +   TbScanX offers other  software an  universal  hook to scan  data
  127.         for viruses.  If you  are a  programmer, you  can instruct  your
  128.         programs to scan information  read from disk for  viruses before
  129.         using the data.
  130.  
  131.  
  132.  
  133.  
  134. USAGE OF THE PROGRAM
  135. --------------------
  136.  
  137.     TbScanX is easy  to use. Simply  type TBSCANX. The  program can also
  138.     be invoked from  within your config.sys  file by inserting  the line
  139.     "device=TBSCANX.COM".  The  advantage  of  the  last  method is that
  140.     TbScanX will  get a  better position  in the  memory and  is able to
  141.     protect the system before other programs are executed. TbScanX  uses
  142.     also  less  memory  in  device  driver  mode.  (NOTE:  If you invoke
  143.     TbScanX  from  within  your  config.sys  you  have  to  specify  the
  144.     extension .COM)
  145.  
  146.     If  you  use  MS-Windows  you  should  load  TbScanX BEFORE starting
  147.     Windows.  If  you  do  that  there  is  only  one copy of TbScanX in
  148.     memory,  but  every  DOS-window  will  nevertheless  have  a   fully
  149.     functional TbScanX  in it.  TbScanX detects  if Windows  is starting
  150.     up, and will switch itself in multitasking mode if neccesary.
  151.  
  152.     Options available:
  153.         -?            = Display help sreen.
  154.         -d            = Disable TbScanX.
  155.         -e            = Enable TbScanX.
  156.         -r            = Remove TbScanX from memory.
  157.         -f <filename> = Use the specified file as signature file.
  158.         -o            = Optimize signatures.
  159.         -n            = no scan at execute.
  160.         -me           = Use Expanded memory.
  161.         -mu           = Use Upper memory.
  162.         -mh           = Use Hercules-half memory.
  163.         -mf           = Use Hercules-full memory.
  164.         -mc           = Use CGA/EGA/VGA memory.
  165.         -u            = Unauthorized signatures allowed.
  166.  
  167.  
  168.     -D  If you  specify  this  option TbScanX  will be  disabled, but it
  169.         will remain in memory.
  170.  
  171.     -E  If  you use this  option TbScanX will  be activated again  after
  172.         you disabled it with the -D option.
  173.  
  174.     -F  This  option  tells   TbScanX  which  file  should  be  used  as
  175.         signature file. Use this option  if you use TbScanX as  a device
  176.         driver,  or  if  the  signature  file  can  not  be found in the
  177.         current or home directory.
  178.  
  179.     -O  If you specify this option TbScanX will optimize the  signatures
  180.         by merging signatures that are more than 75% equal. Look at  the
  181.         next two signatures:
  182.                 Signature 1: CD2145A689BF452F1E77CBCD21
  183.                 Signature 2: CD2111A689BF4A3F1E77CBCD21
  184.         TbScanX will replace the differences between the two  signatures
  185.         by wildcards  and removes  the second  signature. The  resulting
  186.         signature of the example above is:
  187.                 Signature 3: CD21??A689BF????1E77CBCD21
  188.         It  is  obvious  that  this  option  can  save  some  memory and
  189.         increases the  scanning speed  somewhat. This  option has  never
  190.         the result that some viruses go by undetected, but instead,  the
  191.         chance for false alarms increases somewhat.
  192.  
  193.  
  194.     -N  TbScanX normally scans files also just before they are executed.
  195.         If you don't like that you  can use this option to disable  this
  196.         feature. This option can only be used at the initial  invokation
  197.         of TbScanX.
  198.  
  199.     -M  TbScanX offsers you some possibilities to minimize the usage of
  200.         conventional memory. The -M option requires a parameter that
  201.         tells TbScanX which memory should be used. All parameters
  202.         except "U" reduce the usage of conventional memory to less than
  203.         one Kilobyte. The rest will be stored in the specified memory.
  204.         The "U" parameter can even reduce the usage of conventional
  205.         memeory to zero bytes! It is also the only parameter that can
  206.         be used in combination with other memory parameters.
  207.  
  208.         X       If you specify this parameter TbScanX will use expAnded
  209.                 memory to store the signatures and a part of its
  210.                 program code.  Expanded memory is allocated in 16Kb
  211.                 blocks, so the minimum amount of expanded memory you
  212.                 loose is 16Kb.  However, conventional memory is more
  213.                 valuable to your programs than expanded memory, so
  214.                 using this option is recommended.
  215.  
  216.         H       If you specify this parameter TbScanX will use some
  217.                 part of the Hercules videomemory to store the
  218.                 signatures. As long as the videocard remains in the
  219.                 text mode it uses only a little part of its
  220.                 videomemory. The rest can be used by... TbScanX.
  221.                 Videomemory is very slow, so also TbScanX will slowdown
  222.                 somewhat. If you execute a program that switches the
  223.                 card into the graphics mode TbScanX will disable
  224.                 itself completely. You can re-activate TbScanX by
  225.                 running it again. It will automatically remove the old
  226.                 resident part of TbScanX that might be left in memory.
  227.  
  228.         F       This parameter does the same as the H parameter, but
  229.                 it will switch the Hercules card in the so called full
  230.                 mode. TbScanX then uses videomemory that will not be
  231.                 used by even most of the graphics software. You can run
  232.                 a graphics program while TbScanX remains active at the
  233.                 same time! But watch out! If you have two videocards in
  234.                 your machine at the same time, DO NOT USE this option!
  235.  
  236.         C       This parameter does the same as the H parameter, but
  237.                 it will now use CGA/EGA/VGA videomemory.
  238.  
  239.         U       This parameter can be used to load TbScanX into upper
  240.                 memory. Upper memory is available on many 80386 based
  241.                 machines which run memory managers like QEMM. TbScanX
  242.                 will load itself in upper memory, do don't use
  243.                 special highload programs. If you use this parameter in
  244.                 combination with other parameters it will load the
  245.                 remaining part of TbScanX in conventional memory to
  246.                 upper memory. So TbScanX can use Expanded memory and
  247.                 high memory at the same time. The result is that also
  248.                 the amount of upper memory required is minimized.
  249.  
  250.     -U  TbScanX checks  the  signature  file  for modifications.  If you
  251.         change the contents of that file  TbScanX will issue  a warning.
  252.         If  you  don't  want  the  warning  to  be displayed, use the -U
  253.         option.
  254.  
  255.  
  256.     -R  This option can be  used to remove the resident part  of TbScanX
  257.         from your  memory. All  memory used  by TbScanX  will be  freed.
  258.         Unfortunately, the  removing of  a TSR  is not  always possible.
  259.         TbScanX checks whether  it is safe  to remove the  resident part
  260.         from memory, if it is not  safe it just disables TbScanX. A  TSR
  261.         can not be removed if  some other TSR is started  after TbScanX.
  262.         If this is the case  TbScanX will completely disable itself.  If
  263.         the  character  device  "SCANX"  exists  it  will  be renamed to
  264.         "$CANX". If  you invoke  TbScanX again  at some  later time  the
  265.         device will be renamed and re-used automatically.
  266.  
  267.  
  268.     TbScanX looks for the data file in the way mentioned hereunder:
  269.     1)  It uses the file specified with the -f option.
  270.     2)  It searches in the active directory for a file with the
  271.         name TBSCAN.DAT.
  272.     3)  It searches for TBSCAN.DAT in the same directory as the
  273.         program file TBSCAN.COM itself is located.
  274.     4)  It searches in the active directory for a file with the
  275.         name VIRSCAN.DAT.
  276.  
  277.  
  278.     Example:
  279.         c:\utils\tbscanx -f c:\tb\tbscan.dat -me
  280.     or:
  281.         device=c:\utils\tbscanx.com -f c:\tb\tbscan.dat -me -o
  282.  
  283.  
  284.     Whenever a program tries to write to an executable file (files  with
  285.     the  extensions  .COM  and  .EXE),  you  will  shortly  see the text
  286.     "*Scanning*"  in the  upper left corner  of your screen.  As long as
  287.     TbScanX is scanning this text  will appear. Since TbScanX takes  not
  288.     much time to scan the file, the message will only appear shortly.
  289.  
  290.     When TbScanX has detected a virus, it will display the the message
  291.         WARNING, <filename> is infected with <virus name>!
  292.         Abort? (Y/n)
  293.  
  294.     Press "N" to continue, press any other key to abort.
  295.  
  296.     To display the name of  the virus, TbScanX needs the  signature file
  297.     again.  It will automatically  use the signature file that  was used
  298.     when  you  invoked  the  program.  If  the signature file is missing
  299.     (because you  deleted it,  or because  you removed  the floppy  with
  300.     it),  or  no  file  handles  are  left,  TbScanX  will  still detect
  301.     viruses, but it is no longer able to display the name of the  virus.
  302.     It will display [Name unknown] instead.
  303.  
  304.     When TbScanX has been started from within the config.sys file (as  a
  305.     device  driver)  it  has  added  a  character  device  with the name
  306.     "SCANX". When you sent data to this device the data will be  scanned
  307.     for signatures. Try this:
  308.  
  309.     copy testvir.com scanx /b
  310.  
  311.  
  312.  
  313.     No file will  be created with  the name "scanx"  but the input  (the
  314.     contents of  the file  "testvir.com") will  be scanned  for viruses.
  315.     This way you  can easy inspect  any file (also  the non-executables)
  316.     for the existence of virus  signatures without the need to  invoke a
  317.     special program. If  the device "scanx"  detects a signature  in the
  318.     input it will simulate a DOS "write protect error".
  319.  
  320.     Note that you have to specify the "/b" option. Otherwise DOS will
  321.     sent the characters to the device one by one. This consumes a lot
  322.     of time and of course, no signatures will be found in one byte
  323.     sequences!
  324.  
  325.  
  326.  
  327. REGISTERING
  328. -----------
  329.  
  330.     The unregistered version of TbScanX  will prompt you to press  a key
  331.     while starting up,  except when you  have a Thunderbyte  add-on card
  332.     installed. To register TbScanX, see the register.doc file.
  333.  
  334.     Only  the  registered  version  of  TbScanX  is  able to make use of
  335.     expanded memory without random restrictions.
  336.  
  337.     Once registered,  you can  use all  future versions  of TbScanX  for
  338.     free!
  339.  
  340. --> YOU DON'T HAVE TO REGISTER TBSCANX IF YOU USE IT IN A PC WITH A
  341.     THUNDERBYTE ADD-ON CARD INSTALLED!
  342.  
  343.  
  344. FORMAT OF THE DATA FILE
  345. -----------------------
  346.  
  347.     The data file (called TBSCAN.DAT or VIRSCAN.DAT) can be read  and/or
  348.     modified with every ASCII editor.
  349.  
  350.     All  lines  beginning  with  ";"  are comment lines. TbScanX ignores
  351.     these lines  completely. When  the ";"  character is  followed by  a
  352.     percent-sign the  remaining part  of the  line will  be displayed on
  353.     the screen.  A maximum  of 15  lines can  be printed  on the screen.
  354.     Nice for "HOT NEWS"...
  355.  
  356.     In the first line the name  of a virus is expected. The  second line
  357.     contains one or more of the next words:
  358.                         BOOT SYS EXE COM HIGH LOW
  359.  
  360.     These words may be separated by spaces, tabs or commas.
  361.  
  362.     TbScanX will  only scan  for viruses  with the  keywords COM or EXE.
  363.     The  other  keywords  will  be  ignored,  and  are  only used by the
  364.     non-resident  version:  TBSCAN.  Also  note  that  TbScanX  will not
  365.     distinguish between COM and EXE files. All executable files will  be
  366.     scanned for both EXE and COM viruses. This saves some memory.
  367.  
  368.     BOOT means that the  virus is a bootsector  virus. SYS, EXE and  COM
  369.     indicate the virus  can occur in  files with these  extensions. Also
  370.     overlay files  (with the  extension OV?)  will be  searched for  EXE
  371.     viruses. HIGH shows that the virus  can occur in the memory of  your
  372.     PC, namely in  the memory located  above the TBSCAN  program itself.
  373.     LOW means that the virus can occur in the memory of your PC,  namely
  374.     in the memory located under the TBSCAN program itself.
  375.  
  376.     In the  third line  the signature  is expected  in ASCII-HEX.  Every
  377.     virus character is  described by means  of two characters.   Instead
  378.     of two HEX characters, two question marks (the wild- card) may  also
  379.     occur. The  latter means  that every  byte on  that position matches
  380.     the  signature.  Below  you  will  find  an  example of a signature:
  381.             A5E623CB??CD21??83FF3E
  382.  
  383.  
  384.     You can also use the asterisk followed by an ASCII-HEX character  to
  385.     skip a  variable amount  of bytes  in the  signature. The  ASCII-HEX
  386.     character specifies the amount of bytes that should be skipped.  The
  387.     signature could be:
  388.             A5E623CB*3CD2155??83FF3E
  389.     The next sequence of bytes will be recognised as a virus:
  390.             A5E623CB142434CD21554583FF3E
  391.  
  392.  
  393.     Instead of a  signature in ASCII-HEX  you can also  specify a normal
  394.     text. This should be put  between double quotation marks. A  correct
  395.     signature is for example:
  396.             "I have got you!"
  397.  
  398.     This  series  of  three  lines  should  be repeated for every virus.
  399.     Between all lines comment lines may occur.
  400.  
  401.  
  402.  
  403. LIMITATIONS
  404. -----------
  405.  
  406.     +   128 Kb of free memory is needed to start the program.
  407.         (5 Kb of memory once installed in memory)
  408.  
  409.     +   DOS version 3.0 or later is needed.
  410.  
  411.     +   The size of the data file has a maximum of 64 Kb.
  412.  
  413.     +   The name of a virus may consist of maximally 30 characters.
  414.  
  415.     +   The ASCII-HEX signature can consist of maximally 80 characters.
  416.  
  417.     +   Up to 500 different signatures may be specified.
  418.  
  419.     +   All filenames have a maximum length of 48 characters.
  420.  
  421.  
  422.  
  423. ERRORMESSAGES
  424. -------------
  425.  
  426.     Errormessages that can be displayed:
  427.  
  428.     +   Not enough memory
  429.         There is not enough free memory.
  430.  
  431.     +   Error in data line at line <number>.
  432.         There is an error in the specified line of the data file.
  433.  
  434.     +   Limit exceeded.
  435.         The data file was too long or too many virus signatures
  436.         occur in it.
  437.  
  438.     +   Data file not found.
  439.         TbScanX has not been able to locate the data file.
  440.  
  441.     +   Processor type does not match.
  442.         You are using a processor dependant version of TbScanX and
  443.         it can not be executed by the current processor.
  444.  
  445.  
  446.  
  447. SPECIAL VERSIONS
  448. ----------------
  449.  
  450. The  file  TBSCANX.COM  is  fully  functional.  However, we supplied two
  451. special versions of TbScanX to be used with certain processor types.  If
  452. you use the special 286 or 386 version of TbScanX you will get the  best
  453. out of your processor concerning memory usage and speed. If you want  to
  454. use the  286 version  of TbScanX,  just rename  the file  TBSCANX.286 to
  455. TBSCANX.COM. The same applies to the file TBSCANX.386.
  456.  
  457. TBSCANX.COM:    Universal version. Runs on all processor types.
  458.                 Supports Windows 386-enhanced-mode.
  459.                 Uses more memory and is somewhat slower compared to the
  460.                 other versions.
  461.  
  462. TBSCANX.286:    Runs on machines with a NEC-V20, NEC-V30, 80286, 80386
  463.                 and 80486 processor.
  464.                 Does NOT support Windows 386-enhanced-mode.
  465.                 This version uses almost 100 bytes less compared to the
  466.                 other versions and is somewhat faster.
  467.  
  468. TBSCANX.386:    Runs on machines with a 80386 or 80486 type processor.
  469.                 Supports Windows 386-enhanced-mode.
  470.                 Uses less memory compared to the standard version, but
  471.                 more than the 286 version due to the Windows support.
  472.                 It is the fastest version available.
  473.  
  474.  
  475.  
  476.  
  477. Application Interface
  478. ---------------------
  479.  
  480. If you are a  software developer you can  use TbScanX to check  data for
  481. viruses. A program can perform a self check as soon as it is invoked  by
  482. sending its code to TbScanX. A program that processes other programs  or
  483. parts  of  it  (by  example  scramblers  or executable file compressors)
  484. should check the data for viruses before processing it.
  485.  
  486. High-level control
  487.  
  488. This method  is most  usefull for  the so-called  high level programming
  489. languages and languages that lack the ability to generate interrupts.
  490.  
  491. Try to  open the  file "SCANX".  If this  file exists  TBSCANX has  been
  492. invoked from within  the config.sys and  is active in  the machine. Open
  493. the  file  in  the  binairy  mode.  Write  the data to be scanned to the
  494. opened  file.  If  the  data  contains  a  signature  of a virus TbScanX
  495. simulates a DOS "write protect  error". If nothing happens and  the data
  496. is accepted no signature could be found in it.
  497.  
  498. Low-level control
  499.  
  500. This method  is more  complex, but  offers more  possibilities. If  your
  501. programming language supports  issuing interrups you  should be able  to
  502. use this method.  This method also  functions when TbScanX  has not been
  503. started as device driver but as a normal TSR.
  504.  
  505. The interface  consist of  some multiplex  calls (int  2Fh). Register AH
  506. should contain CAh. Register AL contains the function request number.
  507.  
  508. Supported function requests:
  509.  
  510.  
  511. AL=0    InstallationCheck
  512.  
  513.         Return value:
  514.         AL=0    TbScanX not installed
  515.         AL=FFh  TbScanX installed
  516.  
  517.         If BX was 'TB' then it is now changed into 'tb'.
  518.  
  519.  
  520. AL=1    GetStatus
  521.  
  522.         Return value:
  523.         AH      Version number TbScanX in BCD. (CAh if version < 2.2)
  524.         AL=0    TbScanX disabled
  525.         AL=1    TbScanX enabled
  526.         BX      Segment swap area. Zero if not swapped.
  527.         CX      Number of signatures that will be searched.
  528.         DX      EMS_Handle. -1 if no expanded memory in use.
  529.  
  530.  
  531.  
  532.  
  533. AL=2    SetStatus
  534.         BL=0    Disable TbScanX
  535.         BL=1    Enable TbScanX
  536.  
  537.         Return value:
  538.         NONE
  539.  
  540.  
  541. AL=3    ScanBuffer
  542.         DS:DX   Address of buffer to scan.
  543.         CX      Length of buffer to scan.
  544.  
  545.         Return value:
  546.         No Carry flag set       No signatures found in buffer.
  547.         Carry:                  Signature found in buffer!
  548.                 ES:BX   ASCIIZ-name of virus (null terminated)
  549.  
  550.         Registers altered:
  551.         AX,BX,CX,DX,ES
  552.         The contents of the buffer remains unchanged.
  553.  
  554.  
  555. AL=4    ScanFile
  556.         DS:DX   Name of the program file to be scanned.
  557.  
  558.         WARNING! There should be at least 4 Kb of free memory to
  559.         perform this function!
  560.  
  561.         Return value:
  562.         No Carry flag set       No signature found in file.
  563.         Carry:                  Signature found in buffer!
  564.                 ES:BX   ASCIIZ-name of virus (null terminated)
  565.  
  566.         Registers altered:
  567.         AX,BX,CX,DX,ES
  568.  
  569.  
  570.  
  571. Assembler example:
  572.  
  573.         mov ah,0CAh             ;Multiplex number
  574.         mov al,0
  575.         int 02Fh                ;Installation check
  576.         cmp al,0FFh             ;If AL=FFh TbScanX has been installed.
  577.         jne notinstalled        ;Else TbScanX has not been installed.
  578.  
  579.         lea dx,buffer           ;Address of the buffer in DS:DX
  580.         mov cx,512              ;Length of our buffer
  581.         mov ah,0CAh             ;Multiplex number
  582.         mov al,3
  583.         int 02Fh                ;ScanBuffer
  584.         jnc notinfected         ;No carry? Then no virus found!
  585.  
  586.         call print              ;Virus found. Print name ES:BX
  587.  
  588.     notinfected:
  589.  
  590.  
  591.  
  592. THUNDERBYTE
  593. -----------
  594.  
  595.     Virus scanners have a number of very serious disadvantages!
  596.  
  597.     +   They cannot prevent infection. Virus scanners can only tell  you
  598.         whether or not your system has been infected and if so,  whether
  599.         any  damage  has  already  been  done.  By  then  only  a   good
  600.         (non-infected) backup can still save you.
  601.  
  602.     +   They  can   only  recognize   viruses  that  have  already  been
  603.         identified. When a  new virus has  been launched it  will take a
  604.         while before someone discovers it. After that it will take  some
  605.         time before a reliable signature  is dis- tilled from the  virus
  606.         and it will also take a while for you to get hold of the  newest
  607.         virscan.dat.  All  this means that  there is a  real chance that
  608.         your system  is infected  at a  moment virus  scanners have  not
  609.         yet recognized "your" virus!
  610.  
  611.     Viruses get more  and more advanced.  Among other things  because of
  612.     all the  attention the  media is  paying to  the phenomenon computer
  613.     virus. It  has even  become a  real sport  for sick  minds to  write
  614.     computer  viruses.  Even  viruses  that  have  no  stable  signature
  615.     anymore  have  already  been   discovered.  Because  TBSCAN   allows
  616.     wildcards in the data file it  can still trace this kind of  viruses
  617.     quite often. But it will  not take much time anymore  before viruses
  618.     will be  created that  have no  special charac-  teristics at all by
  619.     which they can be identified.  And then even TBSCAN cannot  help you
  620.     anymore. Even viruses that look for the DOS entry point in the  same
  621.     way as TBSCAN does, avoi-  ding detection by protection programs  in
  622.     an effective way, already exist.
  623.  
  624.     To provide programs with a  checksum is neither a solution:  as soon
  625.     as a file is  read in, viruses can  disinfect it, so every  infected
  626.     program looks like one that is not.
  627.  
  628.     There is however ONE solution for the abovementioned problems:
  629.                          *** ThunderByte! ***
  630.  
  631.     ThunderByte  was  developed  to  protect  Personal Computers against
  632.     computer viruses, Trojan Horses and other threats to valuable  data.
  633.     It  is  a  hardware  protection,  consisting  of an adapter card, an
  634.     installation  and  configuration  program  and  a  clear manual. The
  635.     working  of  ThunderByte  is  not  based  on  knowledge  of specific
  636.     viruses, so ThunderByte also protects against future viruses.
  637.  
  638.     A hardware protection  offers much more  protection than a  software
  639.     protection.  ThunderByte  is  already  active  before  the operating
  640.     system is loaded,  so the computer  will be totally  protected right
  641.     after the starting of the PC.
  642.  
  643.     Because  of  the  many  configuration  possibilities  and the intel-
  644.     ligent  algorisms,  the  use  of  ThunderByte  will  never  become a
  645.     burden: you  will hardly  notice the  presence of  ThunderByte in an
  646.     environment without any viruses.
  647.  
  648.  
  649.     Advantages of a hardware protection:
  650.  
  651.     +   The protection uses very little (1Kb) RAM
  652.  
  653.     +   The protection is  already active before the first boot  attempt
  654.         of  the  PC,  and  therefore  protects  also  against bootsector
  655.         viruses.  A  software  protection  can  not  protect you against
  656.         bootsector  viruses,  since  it  has  not  been executed at boot
  657.         time.
  658.  
  659.     +   De hard  disks  can  not be  accessed directly  anymore, because
  660.         ThunderByte is connected to the hard disk cable.
  661.  
  662.     +   It is impossible  to forget to  start  ThunderByte, even  if the
  663.         machine is booting with a diskette.
  664.  
  665.  
  666.  
  667.     ThunderByte offers you many kinds of protection:
  668.  
  669.  
  670.     +   Protection against loss of data.
  671.  
  672.         ThunderByte is connected between the cable of the hard disk  and
  673.         the controller. It  prevents the hard  disk from being  accessed
  674.         directly. The only  way to access  the drive from  now on is  by
  675.         initiating an int 13h.
  676.  
  677.         In addition  ThunderByte detects  all direct  disk writes  which
  678.         try  to  achieve  a  modification  or  damage of the data and it
  679.         checks which  program orders  the execution  of such operations.
  680.         Only  the   operating  system   can  preform   these  operations
  681.         unmentioned.
  682.  
  683.         Standard DOS  already has  the possibility  of protecting  files
  684.         against overwriting and modification  by means of the  read only
  685.         attribute.  However   this  protection   can  be   very   easily
  686.         eliminated  by  software.  But   ThunderByte  pre-  vents   this
  687.         protection from being ruled  out without this being  noticed, so
  688.         now  it  is   nevertheless  possible  to   protect  your   files
  689.         effectively with a standard method.
  690.  
  691.  
  692.     +   Protection against infection.
  693.  
  694.         ThunderByte  protects  programs  (files  with the extension EXE,
  695.         COM or SYS) against infection by judging all modifi- cations  on
  696.         their intention.  The functionality  is not  influenced by this.
  697.         Compiling,  linking,  etc.,  are  not  disturbed and neither are
  698.         programs   that   save   their   confi-   guration   internally.
  699.         Furthermore software  can be  protec- ted  with the  help of the
  700.         aforementioned read only attribute.
  701.  
  702.         Attempts to modify the bootsector  of the disk are detected,  so
  703.         the  dreaded  bootsector  viruses  are  also eliminated. Keep in
  704.         mind that the  bootsector can hardly  be protected by  software.
  705.         Only  ThunderByte  already  beco-  mes  active before the system
  706.         tries to boot!
  707.  
  708.  
  709.     +   Detection of viruses.
  710.  
  711.         In  addition  to  the  abovementioned  ways  of  detecting   the
  712.         presence of viruses, ThunderByte can also do so because  viruses
  713.         carry  out  a  number  of  special  operations. For example, the
  714.         marking  of  already  infected  programs  in  order to recognize
  715.         them,  is  detected  by  ThunderByte.  So  are  the  attempts of
  716.         viruses to  reside in  the memory  in a  suspicious way  and the
  717.         abnormal manipulations with interrupt vectors.
  718.  
  719.  
  720.     +   Password protection.
  721.  
  722.         ThunderByte  has  the  possibility  of  installing  a  password.
  723.         There are two kinds of  passwords: one that is always  asked for
  724.         or one that  you only have  to enter when  attempts are made  to
  725.         start from a diskette instead of the hard disk.
  726.  
  727.     +   Safety.
  728.  
  729.         A lot of  attention has been  paid to the  safety of ThunderByte
  730.         The program code of ThunderByte  is located in ROM and  there is
  731.         no way it can be modified.
  732.  
  733.         There  is  not  one  method  of  eliminating ThunderByte through
  734.         software. All the important settings are realized with the  help
  735.         of  dipswitches  on  the  adapter  card.  And  despite all their
  736.         wasted  intelligence,  viruses  will  never  be  able  to   turn
  737.         switches or to influence their read outs.
  738.  
  739.         Viruses that approach the  controller of the hard  disk directly
  740.         will  have  a  rude  awakening:  ThunderByte will only pass disk
  741.         writes when the write or format command has followed the  normal
  742.         (checked) course.
  743.  
  744.         There  are   a  lot   of  different   versions  of   ThunderByte
  745.         (functioning  identically  however)  that  are  supplied  on the
  746.         basis of capriciousness. That  is why knowledge of  the internal
  747.         working  of  only  one  ThunderByte  system is not sufficient to
  748.         damage or destroy its protective working.
  749.  
  750.         ThunderByte is constantly checking  upon its own variables  with
  751.         a kind  of control  number that  is different  for each version.
  752.         The positions  of the  memory where  the variables  are kept are
  753.         also different for each version.
  754.  
  755.  
  756.     +   Extra possibilities.
  757.  
  758.         ThunderByte offers  you some  interesting bonuses,  like booting
  759.         from drive B:.
  760.  
  761.  
  762.  
  763.  
  764. CONCLUSION
  765. ----------
  766.  
  767.     Are you surprised about the relative great effect and  inventiveness
  768.     of  such  a  small  virusscan  program?  Get Thunderbyte and keep on
  769.     amazing yourself!
  770.  
  771.     If you appreciate  TbScanX or if  it has already  been of help  in a
  772.     difficult situation:
  773.  
  774.         Buy Thunderbyte, or register TbScanX
  775.  
  776.  
  777.     For more information you can contact:
  778.  
  779.     ESaSS B.V.                          Tel:  31 - 80 - 787 771
  780.     P.o. box 1380                       Fax:  31 - 80 - 777 327
  781.     6501 BJ  Nijmegen                   Data: 31 - 85 - 212 395
  782.     The Netherlands                         (2:280/200 @fidonet)
  783.  
  784.  
  785.     TbScanX is written by Frans Veldman.
  786.  
  787.     TbScan and the signature files are available on ESaSS /  Thunderbyte
  788.     support BBS, Tel: 31-85-212395 (300/1200/2400 bps).
  789.  
  790.     If  you  are  running  a  electronic  mail  system,  you  can   also
  791.     file-request  TBSCAN  to  get  the  latest  version  of  TBSCAN.COM,
  792.     TBSCANX  to  get  the  resident  automatic  version  of TBSCANX, and
  793.     VIRUSSIG to  obtain a  copy of  the latest  update of  the signature
  794.     file.